package com.baizhi.feignclient;

import com.baizhi.entity.Product;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

//调用商品服务
@FeignClient("PRODUCT")
public interface ProductClient {

    //查询一组商品信息
    @GetMapping("/products")
    List<Product> findByCategoryId(@RequestParam("id") Integer id);

    //使用id查询 商品信息接口
    @GetMapping("/product/{id}")
    Product product(@PathVariable("id") Integer id);

    //传递集合
    @GetMapping("/test4")
    String test4(@RequestParam String[] ids);

    //传递数组
    @GetMapping("/test3")
    String test3(@RequestParam("ids") String[] ids);

    //传递对象
    @PostMapping("/test2")
    String test2(@RequestBody Product product);

    //路径传参
    @GetMapping("/test1/{id}/{name}")
    String test1(@PathVariable("id") Integer id, @PathVariable("name") String name);

    //声明调用商品服务中的test接口
    @GetMapping("/test")
    String test(@RequestParam("name") String name, @RequestParam("age") Integer age);

    @GetMapping("/product")
    String product();

    @GetMapping("/list")
    String list();
}
